package com.wicket.okrframework.integration;


import com.wicket.okrframework.common.ro.OkrResult;
import com.wicket.okrframework.integration.dto.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;
import  com.wicket.okrframework.integration.dto.*;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@FeignClient("framework")
public interface FwBaseInductionRecordClient {
    /**
   * D1-3查询就职记录列表(边界)
   */
    @PostMapping("/base/inductionRecord/queryInductionRecordListBorder")
    public OkrResult<QueryInductionRecordListBorderRespDto> queryInductionRecordListBorder(QueryInductionRecordListBorderReqDto reqDTO);

    /**
   * D1-3批量查询就职记录列表（公共）
   */
    @PostMapping("/base/inductionRecord/batchQueryInductionRecordListCom")
    public OkrResult<BatchQueryInductionRecordListComRespDto> batchQueryInductionRecordListCom(BatchQueryInductionRecordListComReqDto reqDTO);

    /**
   * D1-3查询个人就职记录信息详情（公共）
   */
    @PostMapping("/base/inductionRecord/queryInductionRecordInfoDetailCom")
    public OkrResult<QueryInductionRecordInfoDetailComRespDto> queryInductionRecordInfoDetailCom(QueryInductionRecordInfoDetailComReqDto reqDTO);

    /**
   * D1-3查询部门下就职记录列表（边界）
   */
    @PostMapping("/base/inductionRecord/queryDeptInductionRecordList")
    public OkrResult<QueryDeptInductionRecordListRespDto> queryDeptInductionRecordList(QueryDeptInductionRecordListReqDto reqDTO);

    /**
   * D1-3查询无组织架构就职记录列表（边界）
   */
    @PostMapping("/base/inductionRecord/queryUnstructuredInductionRecordListBorder")
    public OkrResult<QueryUnstructuredInductionRecordListBorderRespDto> queryUnstructuredInductionRecordListBorder(QueryUnstructuredInductionRecordListBorderReqDto reqDTO);

    /**
   * D1-3查询更新的就职记录列表
   */
    @PostMapping("/base/inductionRecord/queryUpdatedInductionList")
    public OkrResult<QueryUpdatedInductionListRespDto> queryUpdatedInductionList(QueryUpdatedInductionListReqDto reqDTO);

    /**
   * D1-3查询直属就职记录列表
   */
    @PostMapping("/base/inductionRecord/queryDirectInductionRecordList")
    public OkrResult<QueryDirectInductionRecordListRespDto> queryDirectInductionRecordList(QueryDirectInductionRecordListReqDto reqDTO);

    /**
   * D1-3查询就职记录详情
   */
    @PostMapping("/base/inductionRecord/queryInductionRecordDetail")
    public OkrResult<QueryInductionRecordDetailRespDto> queryInductionRecordDetail(QueryInductionRecordDetailReqDto reqDTO);

    /**
     * D1-3一键更新职务信息
     */
    @PostMapping("/base/inductionRecord/batchUpdateInductionRecord")
    public OkrResult<BatchUpdateInductionRecordRespDto> batchUpdateInductionRecord(BatchUpdateInductionRecordReqDto reqDTO);

    /**
   * D1-3查就职记录列表
   */
    @PostMapping("/base/inductionRecord/queryInductionRecordList")
    public OkrResult<QueryInductionRecordListRespDto> queryInductionRecordList(QueryInductionRecordListReqDto reqDTO);

    /**
   * D1-3撤销想存档就职记录
   */
    @PostMapping("/base/inductionRecord/undoToArchiveInductionRecord")
    public OkrResult<UndoToArchiveInductionRecordRespDto> undoToArchiveInductionRecord(UndoToArchiveInductionRecordReqDto reqDTO);

    /**
   * D1-3查询非直属就职记录列表
   */
    @PostMapping("/base/inductionRecord/queryUndoDirectInductionRecordList")
    public OkrResult<QueryUndoDirectInductionRecordListRespDto> queryUndoDirectInductionRecordList(QueryUndoDirectInductionRecordListReqDto reqDTO);

    /**
   * D1-3存档就职记录
   */
    @PostMapping("/base/inductionRecord/archiveInductionRecord")
    public OkrResult<ArchiveInductionRecordRespDto> archiveInductionRecord(ArchiveInductionRecordReqDto reqDTO);

    /**
   * D1-3调岗就职记录
   */
    @PostMapping("/base/inductionRecord/postTransferInductionRecord")
    public OkrResult<PostTransferInductionRecordRespDto> postTransferInductionRecord(PostTransferInductionRecordReqDto reqDTO);

    /**
   * D1-3补充系统职务（边界）
   */
    @PostMapping("/base/inductionRecord/perfectSystemPosition")
    public OkrResult<PerfectSystemPositionRespDto> perfectSystemPosition(PerfectSystemPositionReqDto reqDTO);

    /**
   * D1-3修改就职记录
   */
    @PostMapping("/base/inductionRecord/updateInductionRecord")
    public OkrResult<UpdateInductionRecordRespDto> updateInductionRecord(UpdateInductionRecordReqDto reqDTO);

    /**
   * D1-3查询就职记录详情(边界)
   */
    @PostMapping("/base/inductionRecord/queryInductionRecordDetailBorder")
    public OkrResult<QueryInductionRecordDetailBorderRespDto> queryInductionRecordDetailBorder(QueryInductionRecordDetailBorderReqDto reqDTO);

    /**
   * D1-3删除就职记录
   */
    @PostMapping("/base/inductionRecord/deleteInductionRecord")
    public OkrResult<DeleteInductionRecordRespDto> deleteInductionRecord(DeleteInductionRecordReqDto reqDTO);
/**
   * D1判断新增就职记录操作可用(公共)
   */
    @PostMapping("/base/inductionRecord/judgeAddInductionRecordUsableCom")
    public OkrResult<JudgeAddInductionRecordUsableComRespDto> judgeAddInductionRecordUsableCom(JudgeAddInductionRecordUsableComReqDto reqDTO);
/**
   * D1-3批量查询就职记录(边界)
   */
    @PostMapping("/base/inductionRecord/batchQueryInductionRecordBorder")
    public OkrResult<BatchQueryInductionRecordBorderRespDto> batchQueryInductionRecordBorder(BatchQueryInductionRecordBorderReqDto reqDTO);
/**
   * D1-3新增就职记录
   */
    @PostMapping("/base/inductionRecord/addInductionRecord")
    public OkrResult<AddInductionRecordRespDto> addInductionRecord(AddInductionRecordReqDto reqDTO);
/**
   * D1-2执行主岗唯一处理(公共)
   */
    @PostMapping("/base/inductionRecord/implementMajorPositionOnlyHandleCom")
    public OkrResult<ImplementMajorPositionOnlyHandleComRespDto> implementMajorPositionOnlyHandleCom(ImplementMajorPositionOnlyHandleComReqDto reqDTO);
/**
   * D1-3查询就职记录列表(公共)
   */
    @PostMapping("/base/inductionRecord/queryInductionRecordListCom")
    public OkrResult<QueryInductionRecordListComRespDto> queryInductionRecordListCom(QueryInductionRecordListComReqDto reqDTO);
/**
   * D1-3批量查询直属就职记录
   */
    @PostMapping("/base/inductionRecord/batchQueryDirectInductionRecord")
    public OkrResult<BatchQueryDirectInductionRecordRespDto> batchQueryDirectInductionRecord(BatchQueryDirectInductionRecordReqDto reqDTO);
/**
   * D1-3查询部门下直属就职记录列表
   */
    @PostMapping("/base/inductionRecord/queryDeptDirectlyInductionRecordList")
    public OkrResult<QueryDeptDirectlyInductionRecordListRespDto> queryDeptDirectlyInductionRecordList(QueryDeptDirectlyInductionRecordListReqDto reqDTO);
/**
   * D1-3查询正副职就职记录列表(公共)
   */
    @PostMapping("/base/inductionRecord/queryDeputyInductionRecordListCom")
    public OkrResult<QueryDeputyInductionRecordListComRespDto> queryDeputyInductionRecordListCom(QueryDeputyInductionRecordListComReqDto reqDTO);
/**
   * D1-3批量查询就职记录(管理)(公共)
   */
    @PostMapping("/base/inductionRecord/batchQueryInductionRecordCom")
    public OkrResult<BatchQueryInductionRecordComRespDto> batchQueryInductionRecordCom(BatchQueryInductionRecordComReqDto reqDTO);
/**
   * D1-3批量查询身份人员就职记录(公共)
   */
    @PostMapping("/base/inductionRecord/batchQueryOriginalRoleMemberInductionRecordCom")
    public OkrResult<BatchQueryOriginalRoleMemberInductionRecordComRespDto> batchQueryOriginalRoleMemberInductionRecordCom(BatchQueryOriginalRoleMemberInductionRecordComReqDto reqDTO);
/**
   * D1执行回写部门主管(公共)
   */
    @PostMapping("/base/inductionRecord/implementWriteBackDeptControllerDisposeCom")
    public OkrResult<ImplementWriteBackDeptControllerDisposeComRespDto> implementWriteBackDeptControllerDisposeCom(ImplementWriteBackDeptControllerDisposeComReqDto reqDTO);
/**
   * D1-执行分析新增就职记录是否主岗(公共)
   */
    @PostMapping("/base/inductionRecord/implementAnalyzeNewInductionRecordIsMajorPositionCom")
    public OkrResult<ImplementAnalyzeNewInductionRecordIsMajorPositionComRespDto> implementAnalyzeNewInductionRecordIsMajorPositionCom(ImplementAnalyzeNewInductionRecordIsMajorPositionComReqDto reqDTO);
/**
   * D1-设置主岗(公共)
   */
    @PostMapping("/base/inductionRecord/implementSetMajorPositionCom")
    public OkrResult<ImplementSetMajorPositionComRespDto> implementSetMajorPositionCom(ImplementSetMajorPositionComReqDto reqDTO);
/**
   * D1-当前员工设主岗元素分析(公共)
   */
    @PostMapping("/base/inductionRecord/implementCurrentStaffMajorPositionElementAnalyseCom")
    public OkrResult<ImplementCurrentStaffMajorPositionElementAnalyseComRespDto> implementCurrentStaffMajorPositionElementAnalyseCom(ImplementCurrentStaffMajorPositionElementAnalyseComReqDto reqDTO);
/**
   * D1-执行清理空间管理员临时就职记录(公共)
   */
    @PostMapping("/base/inductionRecord/implementCleanSpaceAdminTtemporarynductionCom")
    public OkrResult<ImplementCleanSpaceAdminTtemporarynductionComRespDto> implementCleanSpaceAdminTtemporarynductionCom(ImplementCleanSpaceAdminTtemporarynductionComReqDto reqDTO);
/**
   * D1执行分析就职记录生命周期操作条件
   */
    @PostMapping("/base/inductionRecord/implementAnalyseInductionRecordLifecyCycleOperationTerm")
    public OkrResult<ImplementAnalyseInductionRecordLifecyCycleOperationTermRespDto> implementAnalyseInductionRecordLifecyCycleOperationTerm(ImplementAnalyseInductionRecordLifecyCycleOperationTermReqDto reqDTO);
/**
   * D1执行分析是否行政主管(公共)
   */
    @PostMapping("/base/inductionRecord/implementAnalyseIsXzDirectorCom")
    public OkrResult<ImplementAnalyseIsXzDirectorComRespDto> implementAnalyseIsXzDirectorCom(ImplementAnalyseIsXzDirectorComReqDto reqDTO);
/**
   * D1执行按条件查部门正副职(公共)
   */
    @PostMapping("/base/inductionRecord/implementAccConditionQueryDeptDeputyCom")
    public OkrResult<ImplementAccConditionQueryDeptDeputyComRespDto> implementAccConditionQueryDeptDeputyCom(ImplementAccConditionQueryDeptDeputyComReqDto reqDTO);
/**
   * D1查询就职的部门详情(公共)
   */
    @PostMapping("/base/inductionRecord/queryInductionDeptDetailCom")
    public OkrResult<QueryInductionDeptDetailComRespDto> queryInductionDeptDetailCom(QueryInductionDeptDetailComReqDto reqDTO);
/**
   * D1批量查询就职的部门(公共)
   */
    @PostMapping("/base/inductionRecord/batchQueryInductionDeptCom")
    public OkrResult<BatchQueryInductionDeptComRespDto> batchQueryInductionDeptCom(BatchQueryInductionDeptComReqDto reqDTO);
/**
   * D1-3查直属就职记录列表(公共)
   */
    @PostMapping("/base/inductionRecord/queryDirectInductionRecordListCom")
    public OkrResult<QueryDirectInductionRecordListComRespDto> queryDirectInductionRecordListCom(QueryDirectInductionRecordListComReqDto reqDTO);
/**
   * D1批量查询就职记录快照(公共)
   */
    @PostMapping("/base/inductionRecord/batchQueryInductionRecordSnapCom")
    public OkrResult<BatchQueryInductionRecordSnapComRespDto> batchQueryInductionRecordSnapCom(BatchQueryInductionRecordSnapComReqDto reqDTO);
/**
   * D1-3查询就职记录详情(公共)(边界)
   */
    @PostMapping("/base/inductionRecord/queryInductionRecordDetailComBorder")
    public OkrResult<QueryInductionRecordDetailComBorderRespDto> queryInductionRecordDetailComBorder(QueryInductionRecordDetailComBorderReqDto reqDTO);
/**
   * D1执行批量部门查就职记录(公共)
   */
    @PostMapping("/base/inductionRecord/implementDeptInductionCom")
    public OkrResult<ImplementDeptInductionComRespDto> implementDeptInductionCom(ImplementDeptInductionComReqDto reqDTO);
/**
   * D1查询部门下人员列表(公共)
   */
    @PostMapping("/base/inductionRecord/queryDeptPersonListCom")
    public OkrResult<QueryDeptPersonListComRespDto> queryDeptPersonListCom(QueryDeptPersonListComReqDto reqDTO);
/**
   * D1查询就职的部门列表(公共)
   */
    @PostMapping("/base/inductionRecord/queryInductionDeptListCom")
    public OkrResult<QueryInductionDeptListComRespDto> queryInductionDeptListCom(QueryInductionDeptListComReqDto reqDTO);
/**
   * D1获取基层向上汇报对象
   */
    @PostMapping("/base/inductionRecord/obtainBasicUpReportLeader")
    public OkrResult<ObtainBasicUpReportLeaderRespDto> obtainBasicUpReportLeader(ObtainBasicUpReportLeaderReqDto reqDTO);
/**
   * D1查询员工就职记录列表(公共)
   */
    @PostMapping("/base/inductionRecord/queryStaffInductionRecordListCom")
    public OkrResult<QueryStaffInductionRecordListComRespDto> queryStaffInductionRecordListCom(QueryStaffInductionRecordListComReqDto reqDTO);
    //
}
